/**
 * Jugador Entity.
 *
 * @author Gooser
 * @since 11 April 2013
 * @version 1.0.0
 */

package es.ranking.padel.entidades;

import java.io.Serializable;
import javax.persistence.*;

/**
 * The persistent class for the jugador database table.
 * 
 */
@Entity
@Table(name = "jugador")
public class Jugador implements Serializable {

	/** The Constant serialVersionUID. */
	private static final long serialVersionUID = 1L;

	/** The Constant GROWL_JUGADOR_ELIMINADO_SATISFACTORIAMENTE. */
	public static final String GROWL_JUGADOR_ELIMINADO_SATISFACTORIAMENTE = "general.JUGADOR_ELIMINADO_SATISFACTORIAMENTE";

	/** The Constant GROWL_ERROR_CREACION_JUGADOR. */
	public static final String GROWL_ERROR_CREACION_JUGADOR = "genreal.ERROR_CRACION_JUGADOR";

	public static final String NAVEGACION_CLASIFICACION = "clasificacion";

	/** The Constant SUCCESS. */
	public static final String NAVEGACION_JUGADOR_CREADO_SATISFACTORIAMENTE = "jugadoresListado";

	/** The Constant NUEVO_JUGADOR. */
	public static final String NAVEGACION_NUEVO_JUGADOR = "jugadorNuevo";

	public static final String NAVEGACION_JUGADORES_LISTADO = "jugadoresListado";
	
	/** The idjugador. */
	private int idjugador;

	/** The nombre. */
	private String nombre;

	/** The apellidos. */
	private String apellidos;

	/** The dni. */
	private String dni;

	/** The telefono. */
	private String telefono;

	/** The direccion. */
	private String direccion;

	/** The ciudad. */
	private String ciudad;

	/** The poblacion. */
	private String poblacion;

	/** The codigo postal. */
	private String codigoPostal;

	/** The email. */
	private String email;

	/** The genero. */
	private String genero;

	/** The grupo. */
	private Grupo grupo;
	
	private Pareja pareja;

	/**
	 * The Constructor.
	 */
	public Jugador() {
	}
	
	/**
	 * Gets the idjugador.
	 * 
	 * @return the idjugador
	 */
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	@Column(name = "IDJUGADOR", unique = true, nullable = false)
	public int getIdjugador() {
		return this.idjugador;
	}

	/**
	 * Sets the idjugador.
	 * 
	 * @param idjugador
	 *            the idjugador
	 */
	public void setIdjugador(int idjugador) {
		this.idjugador = idjugador;
	}

	/**
	 * Gets the apellidos.
	 * 
	 * @return the apellidos
	 */
	@Column(name = "APELLIDOS", nullable = false)
	public String getApellidos() {
		return this.apellidos;
	}

	/**
	 * Sets the apellidos.
	 * 
	 * @param apellidos
	 *            the apellidos
	 */
	public void setApellidos(String apellidos) {
		this.apellidos = apellidos;
	}

	/**
	 * Gets the nombre.
	 * 
	 * @return the nombre
	 */
	@Column(name = "NOMBRE", nullable = false)
	public String getNombre() {
		return this.nombre;
	}

	/**
	 * Sets the nombre.
	 * 
	 * @param nombre
	 *            the nombre
	 */
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	/**
	 * Gets the dni.
	 * 
	 * @return the dni
	 */
	@Column(name = "DNI")
	public String getDni() {
		return dni;
	}

	/**
	 * Sets the dni.
	 * 
	 * @param dni
	 *            the new dni
	 */
	public void setDni(String dni) {
		this.dni = dni;
	}

	/**
	 * Gets the telefono.
	 * 
	 * @return the telefono
	 */
	@Column(name = "TELEFONO")
	public String getTelefono() {
		return telefono;
	}

	/**
	 * Sets the telefono.
	 * 
	 * @param telefono
	 *            the new telefono
	 */
	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}

	/**
	 * Gets the direccion.
	 * 
	 * @return the direccion
	 */
	@Column(name = "DIRECCION")
	public String getDireccion() {
		return direccion;
	}

	/**
	 * Sets the direccion.
	 * 
	 * @param direccion
	 *            the new direccion
	 */
	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}

	/**
	 * Gets the poblacion.
	 * 
	 * @return the poblacion
	 */
	@Column(name = "POBLACION")
	public String getPoblacion() {
		return poblacion;
	}

	/**
	 * Sets the poblacion.
	 * 
	 * @param poblacion
	 *            the new poblacion
	 */
	public void setPoblacion(String poblacion) {
		this.poblacion = poblacion;
	}

	/**
	 * Gets the codigo postal.
	 * 
	 * @return the codigo postal
	 */
	@Column(name = "CODIGOPOSTAL")
	public String getCodigoPostal() {
		return codigoPostal;
	}

	/**
	 * Sets the codigo postal.
	 * 
	 * @param codigoPostal
	 *            the new codigo postal
	 */
	public void setCodigoPostal(String codigoPostal) {
		this.codigoPostal = codigoPostal;
	}

	/**
	 * Gets the email.
	 * 
	 * @return the email
	 */
	@Column(name = "EMAIL")
	public String getEmail() {
		return email;
	}

	/**
	 * Sets the email.
	 * 
	 * @param email
	 *            the new email
	 */
	public void setEmail(String email) {
		this.email = email;
	}

	/**
	 * Gets the serialversionuid.
	 * 
	 * @return the serialversionuid
	 */
	public static long getSerialversionuid() {
		return serialVersionUID;
	}

	/**
	 * Gets the genero.
	 * 
	 * @return the genero
	 */
	@Column(name = "GENERO", nullable = false)
	public String getGenero() {
		return genero;
	}

	/**
	 * Sets the genero.
	 * 
	 * @param genero
	 *            the new genero
	 */
	public void setGenero(String genero) {
		this.genero = genero;
	}

	/**
	 * Gets the ciudad.
	 * 
	 * @return the ciudad
	 */
	@Column(name = "CIUDAD")
	public String getCiudad() {
		return ciudad;
	}

	/**
	 * Sets the ciudad.
	 * 
	 * @param ciudad
	 *            the new ciudad
	 */
	public void setCiudad(String ciudad) {
		this.ciudad = ciudad;
	}

	/**
	 * Gets the growl error creacion jugador.
	 * 
	 * @return the growl error creacion jugador
	 */
	public static String getGrowlErrorCreacionJugador() {
		return GROWL_ERROR_CREACION_JUGADOR;
	}

	public static String getNavegacionCalsificacion() {
		return NAVEGACION_CLASIFICACION;
	}

	@ManyToOne
	@JoinColumn(name = "IDGRUPO", nullable = false)
	public Grupo getGrupo() {
		return grupo;
	}

	public void setGrupo(Grupo grupo) {
		this.grupo = grupo;
	}

	@ManyToOne
	@JoinColumn(name = "IDPAREJA", nullable = true)
	public Pareja getPareja() {
		return pareja;
	}

	public void setPareja(Pareja pareja) {
		this.pareja = pareja;
	}
}